<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<HTML>
<HEAD>
   <TITLE>class  SG_EXPORT osg::Image</TITLE>
   <META NAME="GENERATOR" CONTENT="DOC++ 3.4.8">
</HEAD>
<BODY BGCOLOR="#ffffff">

<H2>class  SG_EXPORT <A HREF="#DOC.DOCU">osg::Image</A></H2></H2><BLOCKQUOTE>Image class for encapsulating the storage texture image data</BLOCKQUOTE>
<HR>

<H2>Inheritance:</H2>
<APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=95>
<param name=classes value="CReferenced,MReferenced.html,CObject,MObject.html,CImage,MImage.html">
<param name=before value="M,M,M">
<param name=after value="Md_SP,Md_,M">
<param name=indent value="0,1,2">
<param name=arrowdir value="down">
</APPLET>
<HR>

<DL>
<P><DL>
<DT><H3>Public Methods</H3><DD><DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif> <B><A HREF="#DOC.2.56.1">Image</A></B>()
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif> <B><A HREF="#DOC.2.56.2">Image</A></B>(const <!1><A HREF="Image.html#DOC.2.56.2">Image</A>&amp; image, const <!1><A HREF="CopyOp.html">CopyOp</A>&amp; copyop=CopyOp::SHALLOW_COPY)
<DD><I>Copy constructor using CopyOp to manage deep vs shallow copy</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual   <!1><A HREF="Object.html">Object</A>* <B><A HREF="#DOC.2.56.3">cloneType</A></B>() const 
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual   <!1><A HREF="Object.html">Object</A>* <B><A HREF="#DOC.2.56.4">clone</A></B>(const <!1><A HREF="CopyOp.html">CopyOp</A>&amp; copyop) const 
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual   bool <B><A HREF="#DOC.2.56.5">isSameKindAs</A></B>(const <!1><A HREF="Object.html">Object</A>* obj) const 
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual   const char* <B><A HREF="#DOC.2.56.6">libraryName</A></B>() const 
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual   const char* <B><A HREF="#DOC.2.56.7">className</A></B>() const 
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.56.8">setFileName</A></B>(const std::string&amp; fileName)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline   const std::string&amp; <B><A HREF="#DOC.2.56.9">getFileName</A></B>() const 
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.56.10">createImage</A></B>(int <!1><A HREF="Image.html#DOC.2.56.14">s</A>, int <!1><A HREF="Image.html#DOC.2.56.15">t</A>, int <!1><A HREF="Image.html#DOC.2.56.16">r</A>, GLenum format, GLenum type, int packing=1)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.56.11">setImage</A></B>(int <!1><A HREF="Image.html#DOC.2.56.14">s</A>, int <!1><A HREF="Image.html#DOC.2.56.15">t</A>, int <!1><A HREF="Image.html#DOC.2.56.16">r</A>, GLint internalTextureformat, GLenum format, GLenum type, unsigned char* <!1><A HREF="Image.html#DOC.2.56.27">data</A>, int packing=1)
<DD><I>set the image data and format.</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.56.12">readPixels</A></B>(int <!1><A HREF="Viewport.html#DOC.2.140.7">x</A>, int <!1><A HREF="Viewport.html#DOC.2.140.8">y</A>, int <!1><A HREF="Viewport.html#DOC.2.140.9">width</A>, int <!1><A HREF="Viewport.html#DOC.2.140.10">height</A>, GLenum format, GLenum type)
<DD><I>readPixels from screen at specified position and size, using glReadPixels.</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.56.13">scaleImage</A></B>(const int <!1><A HREF="Image.html#DOC.2.56.14">s</A>, const int <!1><A HREF="Image.html#DOC.2.56.15">t</A>, const int <!1><A HREF="Image.html#DOC.2.56.16">r</A>)
<DD><I>Scale image to specified size.</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline   const int <B><A HREF="#DOC.2.56.14">s</A></B>() const 
<DD><I>Width of image</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline   const int <B><A HREF="#DOC.2.56.15">t</A></B>() const 
<DD><I>Height of image</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline   const int <B><A HREF="#DOC.2.56.16">r</A></B>() const 
<DD><I>Depth of image</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.56.17">setInternalTextureFormat</A></B>(GLint internalFormat)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline   const GLint <B><A HREF="#DOC.2.56.18">getInternalTextureFormat</A></B>() const 
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.56.19">setPixelFormat</A></B>(const GLenum format)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline   const GLenum <B><A HREF="#DOC.2.56.20">getPixelFormat</A></B>() const 
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline   const GLenum <B><A HREF="#DOC.2.56.21">getDataType</A></B>() const 
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline   const unsigned int <B><A HREF="#DOC.2.56.22">getPacking</A></B>() const 
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline   const unsigned int <B><A HREF="#DOC.2.56.23">getPixelSizeInBits</A></B>() const 
<DD><I>return the numbers of bits required for each pixel</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline   const unsigned int <B><A HREF="#DOC.2.56.24">getRowSizeInBytes</A></B>() const 
<DD><I>return the numbers of bytes each row of pixels occupies once it has been packed</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline   const unsigned int <B><A HREF="#DOC.2.56.25">getImageSizeInBytes</A></B>() const 
<DD><I>return the numbers of bytes each image (_s*_t) of pixels occupies</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline   const unsigned int <B><A HREF="#DOC.2.56.26">getTotalSizeInBytes</A></B>() const 
<DD><I>return the numbers of bytes the whole row/image/volume of pixels occupies</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline   unsigned char* <B><A HREF="#DOC.2.56.27">data</A></B>()
<DD><I>raw image data</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline   const unsigned char* <B><A HREF="#DOC.2.56.28">data</A></B>() const 
<DD><I>raw const image data</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>unsigned char* <B><A HREF="#DOC.2.56.29">data</A></B>(int column, int row=0, int image=0)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.56.30">flipHorizontal</A></B>(int image=0)
<DD><I>Flip the image horizontally</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.56.31">flipVertical</A></B>(int image=0)
<DD><I>Flip the image vertically</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.56.32">ensureValidSizeForTexturing</A></B>()
<DD><I>Ensure image dimensions are a power of two.</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline   void <B><A HREF="#DOC.2.56.33">dirty</A></B>()
<DD><I>Dirty the image, which increments the modified flag, to force osg::Texture to reload the image</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline   void <B><A HREF="#DOC.2.56.34">setModifiedTag</A></B>(const unsigned int value)
<DD><I>Set the modified tag value, only used by osg::Texture when using texture subloading.</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline   const unsigned int <B><A HREF="#DOC.2.56.35">getModifiedTag</A></B>() const 
<DD><I>Get modified tag value, only used by osg::Texture when using texture subloading.</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>static   const bool <B><A HREF="#DOC.2.56.36">isPackedType</A></B>(GLenum type)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>static   const unsigned int <B><A HREF="#DOC.2.56.37">computeNumComponents</A></B>(GLenum format)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>static   const unsigned int <B><A HREF="#DOC.2.56.38">computePixelSizeInBits</A></B>(GLenum format, GLenum type)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>static   const unsigned int <B><A HREF="#DOC.2.56.39">computeRowWidthInBytes</A></B>(int <!1><A HREF="Viewport.html#DOC.2.140.9">width</A>, GLenum format, GLenum type, int packing)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>typedef  std::vector&lt; unsigned int &gt;inline  MipmapDataType bool <B><A HREF="#DOC.2.56.40">isMipmap</A></B>() const 
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>unsigned int <B><A HREF="#DOC.2.56.41">getNumMipmaps</A></B>() const 
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline   void <B><A HREF="#DOC.2.56.42">setMipmapData</A></B>(const MipmapDataType&amp; mipmapDataVector)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline   unsigned char* <B><A HREF="#DOC.2.56.43">getMipmapData</A></B>(unsigned int mipmapNumber) const 
</DL></P>

<P><DL>
<DT><H3>Protected Fields</H3><DD><DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>std::string <B><A HREF="#DOC.2.56.46">_fileName</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>int <B><A HREF="#DOC.2.56.47">_s</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>int  <B><A HREF="#DOC.2.56.48">_t</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>int   <B><A HREF="#DOC.2.56.49">_r</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>GLint <B><A HREF="#DOC.2.56.50">_internalTextureFormat</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>GLenum <B><A HREF="#DOC.2.56.51">_pixelFormat</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>GLenum <B><A HREF="#DOC.2.56.52">_dataType</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>unsigned int <B><A HREF="#DOC.2.56.53">_packing</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>unsigned char* <B><A HREF="#DOC.2.56.54">_data</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>unsigned int <B><A HREF="#DOC.2.56.55">_modifiedTag</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>MipmapDataType <B><A HREF="#DOC.2.56.56">_mipmapData</A></B>
</DL></P>

<P><DL>
<DT><H3>Protected Methods</H3><DD><DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual   <B><A HREF="#DOC.2.56.44">~Image</A></B>()
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif><!1><A HREF="Image.html">Image</A>&amp; <B><A HREF="#DOC.2.56.45">operator = </A></B>(const <!1><A HREF="Image.html">Image</A>&amp;)
</DL></P>

</DL>
<HR><H3>Inherited from <A HREF="Object.html">Object</A>:</H3>
<DL>
<P><DL>
<DT><H3>Public Methods</H3><DD><DT>
<IMG ALT="o" SRC=icon2.gif>inline   void <B>setDataVariance</B>(const <!1><A HREF="Object.html#DOC.2.87.8">DataVariance</A> dv)
<DT>
<IMG ALT="o" SRC=icon2.gif>inline   const <!1><A HREF="Object.html#DOC.2.87.8">DataVariance</A> <B>getDataVariance</B>() const 
<DT>
<IMG ALT="o" SRC=icon2.gif>inline   void <B>setUserData</B>(<!1><A HREF="Referenced.html">Referenced</A>* obj)
<DT>
<IMG ALT="o" SRC=icon2.gif>inline   <!1><A HREF="Referenced.html">Referenced</A>* <B>getUserData</B>()
<DT>
<IMG ALT="o" SRC=icon2.gif>inline   const <!1><A HREF="Referenced.html">Referenced</A>* <B>getUserData</B>() const 
</DL></P>

<P><DL>
<DT><H3>Public Members</H3><DD><DT>
<IMG ALT="o" SRC=icon2.gif>enum  <B>DataVariance</B>
</DL></P>

<P><DL>
<DT><H3>Protected Fields</H3><DD><DT>
<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Object.html#DOC.2.87.8">DataVariance</A> <B>_dataVariance</B>
<DT>
<IMG ALT="o" SRC=icon2.gif><!1><A HREF="ref_ptr.html">ref_ptr</A>&lt;<!1><A HREF="Referenced.html">Referenced</A>&gt;  <B>_userData</B>
</DL></P>

</DL>
<HR><H3>Inherited from <A HREF="Referenced.html">Referenced</A>:</H3>
<DL>
<P><DL>
<DT><H3>Public Methods</H3><DD><DT>
<IMG ALT="o" SRC=icon2.gif>inline   void <B>ref</B>() const 
<DT>
<IMG ALT="o" SRC=icon2.gif>inline   void <B>unref</B>() const 
<DT>
<IMG ALT="o" SRC=icon2.gif>inline   void <B>unref_nodelete</B>() const 
<DT>
<IMG ALT="o" SRC=icon2.gif>inline   const int <B>referenceCount</B>() const 
</DL></P>

<P><DL>
<DT><H3>Protected Fields</H3><DD><DT>
<IMG ALT="o" SRC=icon2.gif>mutable int <B>_refCount</B>
</DL></P>

</DL>

<A NAME="DOC.DOCU"></A>
<HR>
<H2>Documentation</H2>
<BLOCKQUOTE>Image class for encapsulating the storage texture image data</BLOCKQUOTE>
<DL>

<A NAME="Image"></A>
<A NAME="DOC.2.56.1"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> Image()</B></TT>
<DL><DT><DD></DL><P>
<A NAME="Image"></A>
<A NAME="DOC.2.56.2"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> Image(const <!1><A HREF="Image.html#DOC.2.56.2">Image</A>&amp; image, const <!1><A HREF="CopyOp.html">CopyOp</A>&amp; copyop=CopyOp::SHALLOW_COPY)</B></TT>
<DD>Copy constructor using CopyOp to manage deep vs shallow copy
<DL><DT><DD></DL><P>
<A NAME="cloneType"></A>
<A NAME="DOC.2.56.3"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   <!1><A HREF="Object.html">Object</A>* cloneType() const </B></TT>
<DL><DT><DD></DL><P>
<A NAME="clone"></A>
<A NAME="DOC.2.56.4"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   <!1><A HREF="Object.html">Object</A>* clone(const <!1><A HREF="CopyOp.html">CopyOp</A>&amp; copyop) const </B></TT>
<DL><DT><DD></DL><P>
<A NAME="isSameKindAs"></A>
<A NAME="DOC.2.56.5"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   bool isSameKindAs(const <!1><A HREF="Object.html">Object</A>* obj) const </B></TT>
<DL><DT><DD></DL><P>
<A NAME="libraryName"></A>
<A NAME="DOC.2.56.6"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   const char* libraryName() const </B></TT>
<DL><DT><DD></DL><P>
<A NAME="className"></A>
<A NAME="DOC.2.56.7"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   const char* className() const </B></TT>
<DL><DT><DD></DL><P>
<A NAME="setFileName"></A>
<A NAME="DOC.2.56.8"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setFileName(const std::string&amp; fileName)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="getFileName"></A>
<A NAME="DOC.2.56.9"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   const std::string&amp; getFileName() const </B></TT>
<DL><DT><DD></DL><P>
<A NAME="createImage"></A>
<A NAME="DOC.2.56.10"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void createImage(int <!1><A HREF="Image.html#DOC.2.56.14">s</A>, int <!1><A HREF="Image.html#DOC.2.56.15">t</A>, int <!1><A HREF="Image.html#DOC.2.56.16">r</A>, GLenum format, GLenum type, int packing=1)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="setImage"></A>
<A NAME="DOC.2.56.11"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setImage(int <!1><A HREF="Image.html#DOC.2.56.14">s</A>, int <!1><A HREF="Image.html#DOC.2.56.15">t</A>, int <!1><A HREF="Image.html#DOC.2.56.16">r</A>, GLint internalTextureformat, GLenum format, GLenum type, unsigned char* <!1><A HREF="Image.html#DOC.2.56.27">data</A>, int packing=1)</B></TT>
<DD>set the image data and format.
note, when the packing value is negative (the default is -1) this method assumes
a _packing width of 1 if the width is not a multiple of 4,
otherwise automatically sets to _packing to 4. If a positive
value of packing is supplied than _packing is simply set to that value.
<DL><DT><DD></DL><P>
<A NAME="readPixels"></A>
<A NAME="DOC.2.56.12"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void readPixels(int <!1><A HREF="Viewport.html#DOC.2.140.7">x</A>, int <!1><A HREF="Viewport.html#DOC.2.140.8">y</A>, int <!1><A HREF="Viewport.html#DOC.2.140.9">width</A>, int <!1><A HREF="Viewport.html#DOC.2.140.10">height</A>, GLenum format, GLenum type)</B></TT>
<DD>readPixels from screen at specified position and size, using glReadPixels.
Create memory for storage if required, reuse existing pixel coords if possible.
if pixelFormat or dataType
<DL><DT><DD></DL><P>
<A NAME="scaleImage"></A>
<A NAME="DOC.2.56.13"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void scaleImage(const int <!1><A HREF="Image.html#DOC.2.56.14">s</A>, const int <!1><A HREF="Image.html#DOC.2.56.15">t</A>, const int <!1><A HREF="Image.html#DOC.2.56.16">r</A>)</B></TT>
<DD>Scale image to specified size. 
<DL><DT><DD></DL><P>
<A NAME="s"></A>
<A NAME="DOC.2.56.14"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   const int s() const </B></TT>
<DD>Width of image
<DL><DT><DD></DL><P>
<A NAME="t"></A>
<A NAME="DOC.2.56.15"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   const int t() const </B></TT>
<DD>Height of image
<DL><DT><DD></DL><P>
<A NAME="r"></A>
<A NAME="DOC.2.56.16"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   const int r() const </B></TT>
<DD>Depth of image
<DL><DT><DD></DL><P>
<A NAME="setInternalTextureFormat"></A>
<A NAME="DOC.2.56.17"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setInternalTextureFormat(GLint internalFormat)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="getInternalTextureFormat"></A>
<A NAME="DOC.2.56.18"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   const GLint getInternalTextureFormat() const </B></TT>
<DL><DT><DD></DL><P>
<A NAME="setPixelFormat"></A>
<A NAME="DOC.2.56.19"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setPixelFormat(const GLenum format)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="getPixelFormat"></A>
<A NAME="DOC.2.56.20"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   const GLenum getPixelFormat() const </B></TT>
<DL><DT><DD></DL><P>
<A NAME="getDataType"></A>
<A NAME="DOC.2.56.21"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   const GLenum getDataType() const </B></TT>
<DL><DT><DD></DL><P>
<A NAME="getPacking"></A>
<A NAME="DOC.2.56.22"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   const unsigned int getPacking() const </B></TT>
<DL><DT><DD></DL><P>
<A NAME="getPixelSizeInBits"></A>
<A NAME="DOC.2.56.23"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   const unsigned int getPixelSizeInBits() const </B></TT>
<DD>return the numbers of bits required for each pixel
<DL><DT><DD></DL><P>
<A NAME="getRowSizeInBytes"></A>
<A NAME="DOC.2.56.24"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   const unsigned int getRowSizeInBytes() const </B></TT>
<DD>return the numbers of bytes each row of pixels occupies once it has been packed
<DL><DT><DD></DL><P>
<A NAME="getImageSizeInBytes"></A>
<A NAME="DOC.2.56.25"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   const unsigned int getImageSizeInBytes() const </B></TT>
<DD>return the numbers of bytes each image (_s*_t) of pixels occupies
<DL><DT><DD></DL><P>
<A NAME="getTotalSizeInBytes"></A>
<A NAME="DOC.2.56.26"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   const unsigned int getTotalSizeInBytes() const </B></TT>
<DD>return the numbers of bytes the whole row/image/volume of pixels occupies
<DL><DT><DD></DL><P>
<A NAME="data"></A>
<A NAME="DOC.2.56.27"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   unsigned char* data()</B></TT>
<DD>raw image data
<DL><DT><DD></DL><P>
<A NAME="data"></A>
<A NAME="DOC.2.56.28"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   const unsigned char* data() const </B></TT>
<DD>raw const image data
<DL><DT><DD></DL><P>
<A NAME="data"></A>
<A NAME="DOC.2.56.29"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>unsigned char* data(int column, int row=0, int image=0)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="flipHorizontal"></A>
<A NAME="DOC.2.56.30"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void flipHorizontal(int image=0)</B></TT>
<DD>Flip the image horizontally
<DL><DT><DD></DL><P>
<A NAME="flipVertical"></A>
<A NAME="DOC.2.56.31"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void flipVertical(int image=0)</B></TT>
<DD>Flip the image vertically
<DL><DT><DD></DL><P>
<A NAME="ensureValidSizeForTexturing"></A>
<A NAME="DOC.2.56.32"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void ensureValidSizeForTexturing()</B></TT>
<DD>Ensure image dimensions are a power of two.
Mip Mapped texture require the image dimensions to be
power of two and are within the maxiumum texture size for
the host machine.
<DL><DT><DD></DL><P>
<A NAME="dirty"></A>
<A NAME="DOC.2.56.33"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   void dirty()</B></TT>
<DD>Dirty the image, which increments the modified flag, to force osg::Texture to reload the image
<DL><DT><DD></DL><P>
<A NAME="setModifiedTag"></A>
<A NAME="DOC.2.56.34"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   void setModifiedTag(const unsigned int value)</B></TT>
<DD>Set the modified tag value, only used by osg::Texture when using texture subloading. 
<DL><DT><DD></DL><P>
<A NAME="getModifiedTag"></A>
<A NAME="DOC.2.56.35"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   const unsigned int getModifiedTag() const </B></TT>
<DD>Get modified tag value, only used by osg::Texture when using texture subloading. 
<DL><DT><DD></DL><P>
<A NAME="isPackedType"></A>
<A NAME="DOC.2.56.36"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>static   const bool isPackedType(GLenum type)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="computeNumComponents"></A>
<A NAME="DOC.2.56.37"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>static   const unsigned int computeNumComponents(GLenum format)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="computePixelSizeInBits"></A>
<A NAME="DOC.2.56.38"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>static   const unsigned int computePixelSizeInBits(GLenum format, GLenum type)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="computeRowWidthInBytes"></A>
<A NAME="DOC.2.56.39"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>static   const unsigned int computeRowWidthInBytes(int <!1><A HREF="Viewport.html#DOC.2.140.9">width</A>, GLenum format, GLenum type, int packing)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="isMipmap"></A>
<A NAME="DOC.2.56.40"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>typedef  std::vector&lt; unsigned int &gt;inline  MipmapDataType bool isMipmap() const </B></TT>
<DL><DT><DD></DL><P>
<A NAME="getNumMipmaps"></A>
<A NAME="DOC.2.56.41"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>unsigned int getNumMipmaps() const </B></TT>
<DL><DT><DD></DL><P>
<A NAME="setMipmapData"></A>
<A NAME="DOC.2.56.42"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   void setMipmapData(const MipmapDataType&amp; mipmapDataVector)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="getMipmapData"></A>
<A NAME="DOC.2.56.43"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   unsigned char* getMipmapData(unsigned int mipmapNumber) const </B></TT>
<DL><DT><DD></DL><P>
<A NAME="~Image"></A>
<A NAME="DOC.2.56.44"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   ~Image()</B></TT>
<DL><DT><DD></DL><P>
<A NAME="operator = "></A>
<A NAME="DOC.2.56.45"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Image.html">Image</A>&amp; operator = (const <!1><A HREF="Image.html">Image</A>&amp;)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_fileName"></A>
<A NAME="DOC.2.56.46"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>std::string _fileName</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_s"></A>
<A NAME="DOC.2.56.47"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int _s</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_t"></A>
<A NAME="DOC.2.56.48"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int  _t</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_r"></A>
<A NAME="DOC.2.56.49"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int   _r</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_internalTextureFormat"></A>
<A NAME="DOC.2.56.50"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>GLint _internalTextureFormat</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_pixelFormat"></A>
<A NAME="DOC.2.56.51"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>GLenum _pixelFormat</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_dataType"></A>
<A NAME="DOC.2.56.52"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>GLenum _dataType</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_packing"></A>
<A NAME="DOC.2.56.53"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>unsigned int _packing</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_data"></A>
<A NAME="DOC.2.56.54"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>unsigned char* _data</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_modifiedTag"></A>
<A NAME="DOC.2.56.55"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>unsigned int _modifiedTag</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_mipmapData"></A>
<A NAME="DOC.2.56.56"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>MipmapDataType _mipmapData</B></TT>
<DL><DT><DD></DL><P></DL>

<HR><DL><DT><B>This class has no child classes.</B></DL>

<DL><DT><DD></DL><P><P><I><A HREF="index.html">Alphabetic index</A></I> <I><A HREF="HIER.html">HTML hierarchy of classes</A> or <A HREF="HIERjava.html">Java</A></I></P><HR>
<BR>
This page was generated with the help of <A HREF="http://docpp.sourceforge.net">DOC++</A>.
</BODY>
</HTML>
